package com.guangyunl.b_extends;

public class Text02 {
    public static void main(String[] args) {
        // 创建父类对象
        FatherClass fatherClass = new FatherClass();
        System.out.println("fatherClass.numFa = " + fatherClass.numFa);// 父类中的numFa
//        System.out.println("fatherClass = " + fatherClass.numSo); // 不能直接调用子类中特有的成员
        System.out.println("fatherClass.num = " + fatherClass.num);// 父类中的numFa



        System.out.println("========================");
        // 创建子类对象
        SonClass sonClass = new SonClass();
        System.out.println("sonClass.numFa = " + sonClass.numFa); // 继承了父类，可以使用父类中的非私有成员
        System.out.println("sonClass.numSo = " + sonClass.numSo);
        System.out.println("sonClass.num = " + sonClass.num);

        System.out.println("========================");
        FatherClass fatherClass1 = new SonClass();
        /*
        fatherClass1.num = 2000 等号左边是FatherClass类型
        所以调用的是父类中的 num = 2000
         */
        System.out.println("fatherClass1.num = " + fatherClass1.num);

        /*
        总结: 继承前提下，成员变量访问特点口诀:
        看等号左边是谁，先调用谁中的成员，子类没有，找父类
         */

    }
}
/*
fatherClass.numFa = 100
fatherClass.num = 2000
========================
sonClass.numFa = 100
sonClass.numSo = 10
sonClass.num = 200
========================
fatherClass1.num = 2000
 */